package com.jzsk.variable.center.domain.enums;

/**
 * @author jiangli  2018/6/8
 * @version v1.0
 * <p>
 * 系统状态枚举，包含系统所有异常的状态
 * 系统级异常：1-200
 * 业务类异常：200以上
 */
public enum StatusCodeEnum {

    /**
     * 业务类异常，(200,~]
     */
    动态编译文件异常(222, "动态编译文件异常"),
    征信jar导出失败(221, "征信jar导出失败"),
    征信jar包配置不存在(220, "征信jar包配置不存在"),
    角色未配置相应的权限(205, "角色未配置相应的权限"),
    用户未配置角色(204, "用户未配置角色"),
    密码错误(203, "密码错误"),
    账号不存在(202, "账号不存在"),
    密码必须同时包含英文大小写字符(201, "密码必须同时包含英文大小写字符"),

    /**
     * 系统级异常 [1,200]
     */
    授权信息解析失败(62, "授权信息解析失败！"),
    登录授权失败(60, "登录授权失败！"),
    Redis分布式锁解锁失败(52, "Redis分布式锁解锁失败！"),
    Redis分布式锁获取失败(51, "Redis分布式锁获取失败！"),
    本地缓存读取出错(50, "本地缓存读取出错！"),
    访问次数过多(40, "访问次数过多！"),
    访问频率过快(30, "访问频率过快！"),
    请求链接失效(28, "请求链接已失效，请重新进入系统"),
    请求参数异常(21, "请求参数异常！"),
    请求超时(25, "请求超时！"),
    非法请求(20, "非法请求！"),
    登录超时_请重新登录(13, "登录超时，请重新登录！"),
    用户不存在(14, "用户不存在！"),
    签名校验失败(12, "签名校验失败！"),
    参数解密出错(11, "参数解密出错！"),
    用户信息非法(10, "用户信息非法！"),
    系统正在维护(5, "系统正在维护..."),
    系统繁忙(1, "系统繁忙，请稍后重试！"),
    请求成功(200, "请求成功"),

    ;


    private Integer code;
    private String message;

    StatusCodeEnum(Integer code, String message) {
        this.code = code;
        this.message = message;
    }

    public Integer getCode() {
        return code;
    }

    public void setCode(Integer code) {
        this.code = code;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

}
